//
// Created by twetec on 25-7-12.
//

#ifndef NETWORK_PROBER_BACKUP_BACKUP_TASK_HANDLER_H
#define NETWORK_PROBER_BACKUP_BACKUP_TASK_HANDLER_H

namespace network_prober::backup
{
class BackupTaskHandler
{
public:
    void start();  // 启动
    static BackupTaskHandler &getInstance(); // 获取实例

private:
    /**
     * 开始任务下发
     */
    void _startTaskDispatch();

    /**
     * 开始任务处理
     */
    void _startTaskHandle();

    BackupTaskHandler();  // 构造函数私有化
    ~BackupTaskHandler(); // 析构函数私有化

    BackupTaskHandler(const BackupTaskHandler&) = delete;            // 禁用默认拷贝构造函数（初始化赋值时调用）
    BackupTaskHandler &operator=(const BackupTaskHandler&) = delete; // 禁用默认拷贝赋值（初始化后，再赋值时调用）

    BackupTaskHandler(BackupTaskHandler&&) = delete;            // 针对右值
    BackupTaskHandler &operator=(BackupTaskHandler&&) = delete; // 针对右值

private:

};
}

#endif //NETWORK_PROBER_BACKUP_BACKUP_TASK_HANDLER_H
